home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / FORTH / FORTHMAC / OLD / WORKARC / !Forthmacs.bin.Cmd.Fpage < prev    next >
Text File  |  1996-04-27  |  3KB  |  140 lines

  1. ;    FORTH.CMD:    Forthmacs MENU Page
  2. ;            for MicroEMACS 3.9e and above
  3. ;            (C)opyright 1988 by Daniel Lawrence
  4. ;            (C)opyright 1995 hs
  5.  
  6. ; set up the "clean"; ********************************************
  7. store-procedure clean
  8.     delete-buffer "[Macro 10]"
  9.     delete-buffer "[Macro 11]"
  10.     delete-buffer "[Macro 12]"
  11. !endm
  12.  
  13. ; make sure the function key window is up
  14. set %rcfkeys FALSE
  15. execute-macro-1
  16. write-message "Loading..."
  17.  
  18. ; Write out the page instructions
  19. save-window
  20. 1 next-window
  21. beginning-of-file
  22. set $curcol 25
  23. overwrite-string " F1 whatis:               F2 whatis cursor-word"
  24. next-line
  25. set $curcol 25
  26. overwrite-string "                                               "
  27. next-line
  28. set $curcol 25
  29. overwrite-string "                                               "
  30. next-line
  31. set $curcol 18
  32. overwrite-string "4th "
  33. set $curcol 25
  34. overwrite-string "                                               "
  35. next-line
  36. set $curcol 25
  37. overwrite-string "                                               "
  38. unmark-buffer
  39. beginning-of-file
  40. !force restore-window
  41. update-screen
  42.  
  43. ; ********************************************
  44. ;    find onlinehelp in whatis_doc for keyboard given word
  45. 10 store-macro
  46.     set %what "Type in word to search for "
  47.     set %what  @%what
  48.     run getonline
  49.     !endm
  50. bind-to-key execute-macro-10 S-FN1
  51.  
  52. ; ********************************************
  53. ;    find online help in whatis_doc for word under cursor
  54. 11 store-macro
  55.     run isolate-word
  56.     run getonline
  57.     !endm
  58. bind-to-key execute-macro-11 S-FN2
  59.  
  60. ; Search for beginning of word, bounds are defined by non-space-characters
  61. store-procedure to-front-word
  62.     !if &les $curchar 33
  63.         !force previous-word
  64.     !endif
  65.     !while &and  &gre $curchar 32  ¬ $bufbeg
  66.         backward-character
  67.     !endwhile
  68.     !while &les $curchar 33
  69.         !force forward-character
  70.     !endwhile
  71.     !endm
  72.  
  73. ; isolate word at Cursor in %what
  74. store-procedure isolate-word
  75.     set %tmpcol  $curcol
  76.     set %tmpline $curline
  77.     run to-front-word
  78.     set %what ""
  79.     !while &gre $curchar 32
  80.         set %what  &cat %what   &chr $curchar
  81.         forward-character
  82.     !endwhile
  83.     set $curline %tmpline
  84.     set $curcol %tmpcol
  85.     !endm
  86.  
  87. ; procedure to get help-info in whatis.doc for string contained in %what
  88. store-procedure getonline
  89. ;    setup windows for use
  90.     save-window
  91.     set $discmd FALSE
  92.     1 next-window 
  93.     !force 1 split-current-window
  94.     !force find-file "Forthmacs:risc_os.whatis_doc"
  95. !if $status
  96.     add-mode "green"
  97.     add-mode "WHITE"
  98.     add-mode "EXACT"
  99.     beginning-of-file
  100.     write-message &cat "Searching for  " %what
  101.     set %what  &cat "" %what
  102. *onlineloop
  103.     !force search-forward %what
  104.     !if $status
  105.         !if &less $curchar 33
  106.             set %tmpcol  $curcol
  107.             set %tmpline $curline
  108.             beginning-of-line
  109.             next-line
  110.             !force 1 resize-window
  111.             !while &les $curchar 33
  112.                 next-line
  113.                 grow-window
  114.             !endwhile
  115.             set $curline %tmpline
  116.             set $curcol %tmpcol
  117.             1 redraw-display
  118.             update-screen
  119.             set %what "Press RETURN to continue"
  120.             set %what  @%what
  121.             write-message ""
  122.         !else
  123.             !goto onlineloop
  124.         !endif
  125.     !else
  126.         write-message "No information in whatis_doc"
  127.     !endif
  128.  
  129. !else
  130.     write-message "problems with whatis_doc"
  131. !endif
  132.     !force 1 delete-window
  133.     !force restore-window
  134.     execute-macro-1
  135.     execute-macro-1
  136.     set $discmd TRUE
  137. !endm
  138.  
  139. write-message "[Forthmacs MENU page loaded]"
  140.